import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 屏幕宽度
    screenWidth: "",
    // 屏幕高度
    screenHeight: "",
    //滚轮到顶部的距离
    scrollTop: 0,
    // 是否显示登录组件
    isShowLogin: false,
    // 当前右键的文件
    nowItemFile: null,
    // 是否显示设置名称对话框
    showSetName: false,
    // 设置名称的模式，0是新建文件夹，1是新建文件，2是重命名
    setNameMode: -1,
    // 当前输入的名字
    nowName: "",
    // 是否显示输入文档密码组件
    showFilePassword: false,
    // 是否显示个人信息设置组件
    showSetting: false,
    // 编辑器内容是否保存
    save: false,
    // 当前渲染的文件列表
    nowFileList: [],
    // 当前路径
    nowPath: [],
  },
  mutations: {
    // 修改屏幕宽度
    setScreenWidth(state, val) {
      state.screenWidth = val;
    },
    //修改到顶部的距离
    setScrollTop(state, val) {
      state.scrollTop = val;
    },
    //修改是否显示登录组件
    setIsShowLogin(state, val) {
      state.isShowLogin = val;
    },
    setScreenHeight(state, val) {
      state.screenHeight = val;
    },
    setNowItemFile(state, val) {
      state.nowItemFile = val;
    },
    setShowSetName(state, val) {
      state.showSetName = val;
    },
    setSetNameMode(state, val) {
      state.setNameMode = val;
    },
    setNowName(state, val) {
      state.nowName = val;
    },
    setShowFilePassword(state, val) {
      state.showFilePassword = val;
    },
    setShowSetting(state, val) {
      state.showSetting = val;
    },
    setSave(state, val) {
      state.save = val;
    },
    setNowFileList(state, val) {
      state.nowFileList = val;
    },
    setNowPath(state, val) {
      if (val.type === "push") {
        state.nowPath.push(val.id)
      }else if(val.type === "pop"){
        state.nowPath.pop()
      }
    }
  },
  actions: {

  },
  modules: {
  }
})
